package interview;

public class interview_16_16 {
    public int[] subSort(int[] array) {
        int len= array.length;
        if(len==0) return new int[]{-1,-1};
        int[] leftmax=new int[len];
        int[] rightmin=new int[len];
        leftmax[0]=Integer.MIN_VALUE;
        for(int i=1;i<len;++i){
            leftmax[i]=Math.max(array[i-1],leftmax[i-1] );
        }
        rightmin[len-1]=Integer.MAX_VALUE;
        for(int i=len-2;i>=0;--i){
            rightmin[i]=Math.min(array[i+1],rightmin[i+1]);
        }
        int left=-1;
        int right=-1;
        for(int i=0;i<len;++i){
            if(array[i]>rightmin[i]){
                left=i;
                break;
            }
        }
        for(int i=len-1;i>=0;--i){
            if(array[i]<leftmax[i]){
                right=i;
                break;
            }
        }
        return new int[]{left,right};
    }
}
